The track references to an object's image and hot spot tracks are not handled the same way as track references to panoramas. The track reference types are the same ( kQTVRImageTrackRefType and kQTVRHotSpotTrackRefAtomType ), but the location of the reference indexes is different. There is no entry in the object sample atom for the track reference indexes. Instead, separate atoms using the VRTrackRefEntry structure are stored as siblings to the object sample atom. The types of these atoms are kQTVRImageTrackRefAtomType and kQTVRHotSpotTrackRefAtomType . If either of these atoms is not present, then the reference index to the corresponding track is assumed to be one.
The trackResolution field in the VRTrackRefEntry structure is currently ignored for object tracks.
The actual views of an object for an object node are contained in an object image track, which is usually a standard QuickTime video track. (An object image track can also be any type of track that is capable of displaying an image, such as a QuickTime 3D track.) As described in the section "Object Nodes" in Chapter 1, "About QuickTime VR,"these views are often captured by moving a camera around the object in a defined pattern of pan and tilt angles. The views must then be ordered into an object image array, which is stored as a one-dimensional sequence of frames in the movie's video track (see Figure 5-5 ).
Figure 5 The structure of an image track for an object
For object movies containing frame animation, each animated view in the object image array consists of the animating frames. It is not necessary that each view in the object image array contain the same number of frames, but the view duration of all views in the object movie must be the same.
For object movies containing alternate view states, alternate view states are stored as separate object image arrays that immediately follow the preceding view state in the object image track. Each state does not need to contain the same number of frames. However, the total movie time of each view state in an object node must be the same.
| Previous | Chapter Contents | Chapter Top | Next |